import { defineStore } from 'pinia';
import { articleApi } from '@/api/article/article-api';
import { isEmptyObject } from '@/utils/tools-util';

export const articleStore = defineStore('articleStore', {
    state: () => ({
        articleList:[], // 文章列表
        conditions:{}, // 请求参数集合
        currentArticle:{}, // 当前文章详情
    }),
    // Getter 完全等同于 Store 状态的计算值，计算state中的值
    getters:{
    },
    // 设置state中的基本信息
    actions:{ 
        // 设置请求参数
        setParam(data) {
            this.conditions = data;
        },

        // 设置文章列表信息
        setArticleInfo(data) {
            this.articleList = data;
        },

        // 设置当前文章详情信息
        setCurrentArticle(data) {
            console.log(data);
            this.currentArticle = data;
        },

        // 获取文章列表信息
        async getArticleInfo(conditions) {
            try {
                const res = await articleApi.list(conditions);
                if(res.meta.status !== 200) throw new Error(res.meta.msg);
                return res.data;
            } catch (e) {
                console.error(e)
            }
        },
    },
    persist: [// 在这里进行自定义配置
        {
            // paths: ['token'],
            // storage: localStorage,
        },
        {
            // paths: ['id','eMail','userId','roleId','nickname'],
            // storage: sessionStorage,
        },
    ]
})